package com.scala

import org.apache.spark.{SparkConf, SparkContext}
/*
map接受一个函数，把这个函数用户RDD中的每一个元素，并且将函数返回的结果作为结果返回到RDD中对应元素的值
filter接受一个函数，并且将RDD中满足的元素放到新的RDD中
flatMap对于每输入一个元素，返回多个元素的操作，
 */

object Test3 {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setMaster("local").setAppName("test3")
    val sc = new SparkContext(conf);
    val input =sc.parallelize(List(1,2,3,4));
    val out_map = input.map(r=>r*r);
    val out_filter=input.filter(r=>r>2);
    val input01=sc.parallelize(List("Hello world","scala"));
    val out_map01=input01.map(line=>line.split(" "));
    val out_flatMap=input01.flatMap(line=>line.split(" "));
    println(out_map.collect().mkString(","));
    println(out_filter.collect().mkString(","));
    //map和flatMap的区别
    println(out_flatMap.collect().mkString(","));
    println(out_map01.collect().mkString(","));
  }
}


//class Function(){
//
//  def map(in:List) ={
//    in.map(r=>r*r);
//  }
//
//}